
#ifndef IMAGELAYERPANEL_H
#define IMAGELAYERPANEL_H

#include <BLineEdit>
#include <BSpinBox>
#include <BGroupBox>
#include <BComboBox>
#include <BCheckBox>

#include "ImageLayer.h"

class ImageLayerPanel : public BGroupBox
{
	BOBJECT(ImageLayerPanel)
public:
	ImageLayerPanel(BWidget* parent = 0);
	~ImageLayerPanel();

protected:
	void slotAssetChanged(BObject* object, const BValue& value);
	void slotImageLayerResized(BObject* object, const BValue& value);

	void slotBlendItemClicked(BObject* object, const BValue& value);
	void slotBlendColorButtonClicked(BObject* object, const BValue& value);
	void slotFormatItemClicked(BObject* object, const BValue& value);
	void slotFilterItemClicked(BObject* object, const BValue& value);
	void slotSizeEditFinished(BObject* object, const BValue& value);

private:
	BComboBox*		_blendComboBox;
	BButton*		_blendColorButton;
	BComboBox*		_filterComboBox;
	BComboBox*		_wrapComboBox;
	BCheckBox*		_mipmapCheckBox;

	BLineEdit*		_fileNameEdit;
	BComboBox*		_policyComboBox;
	BComboBox*		_formatComboBox;
	BSpinBox*		_widthSpinBox;
	BSpinBox*		_heightSpinBox;

	BHolder<ImageLayer>	_imageLayer;
	BImageHolder	_backupImage;
};

#endif
